Description
The generateDiagram operation is performed on a schematic diagram template
resource. The result of this operation is a Schematic Diagram Information Object.
It is used to generate a new diagram.
Note: Schematics services published without the Editing operation enabled don't support the generateDiagram operation. Moreover, the generateDiagram operation is only supported on schematic diagram templates with 
canGenerate=True; that is, when the published map references the schematic diagram template layer.
You can provide arguments to the generateDiagram operation as query parameters defined in the parameters table below.
Parameters
| Parameter | Details | 
| f | Description: The
response format. The default response format is html. 
 Values:
html | json
 | 
| name | Required Description: 
The diagram name.
 
 Syntax:
 name=<diagramName> Example:
 name=MyTestDiagram | 
| user | Required Description: 
The diagram creator.
 
 Syntax:
 user=<diagramCreator> Example:
 user=NCA3885 
 | 
| folderID | Description: 
The ID of the folder in which the generated diagram will be stored. This parameter is optional. If it is not specified, the generated diagram is stored at the schematic dataset root.
 
 Syntax:
 folderID=<diagramFolderID> Example:
 folderID=1 | 
| builderContext | Required Description:
 The context for the builder which updates the diagram.
 This parameter syntax depends on the diagram builder:
 
 
Diagrams based on the Standard builder that are generated from a set of GIS features/objectsIn that case, the operation expects the lists of the input GIS feature/object IDs per feature class/object table, and those features/objects version:
 
 Syntax:
 builderContext={
 "initialObjects": [
 {
 "objectClassName" : "<objectClass1Name>",
 "objectIDs" : [ID11, ..., IDN]
 },
 ...,
 {
 "objectClassName" : "<objectClassNName>",
 "objectIDs" : [ID1, ..., IDM]
 }
 ],
 
 "version": "<version>"
 }
Example:
 builderContext={"initialObjects": [{"objectClassName": "PipelinesDatabase.SDE.pug_PUG_gas_plants", "objectIDs": [3]}], "version":"sde.DEFAULT"}Note:The
 versionparameter is mandatory. We recommend to specify the version when you work with GIS features/objects stored in ArcSDE geodatabases. For this case, when specifying noversion, the version used is the one configured on the Associated Object Class section of the Properties tab that displays for the associated schematic feature class when you edit the schematic dataset within Schematic Dataset Editor.
 Tip:
 When generating a schematic diagram based on the Standard builder from a set of GIS features that compose a geometric network or network dataset, if the Standard builder properties are configured with the Add connected nodes option enabled, you can provide only the list of edge/line features.
Diagrams based on the Standard builder that are entirely built from custom queriesIn that case, the operation expects an empty list of initial objects.
 
 Syntax:
 
 builderContext={"initialObjects": []}
Example:
 builderContext={"initialObjects": []}Diagrams based on the XML builderIn that case, the operation expects input XML data:
 
 Syntax:
 builderContext={"XmlSource" : "<XMLSource>"}Example:
 builderContext={"XmlSource" : "\\Dataserver\SchematicsData\pipelines\BrazilDiagram1.xml"} 
 CAUTION:
 For diagrams based on the Standard builder entirely built from custom queries, the builderContext parameter must be NULL.
 
 | 
Example Usage
The map used to publish the S1_Schematics Schematics service referenced the MainNetwork schematic diagram template layer.
This template is based on the Standard builder and works from input GIS features organized into a geometric network.
Since this sample service was published without the Editing operation enabled, the generateDiagram operation is not supported.
But, with the Editing operation enabled, you could generate a TestDiagram schematic diagram based on this template (id=2) from a set of PrimaryLine geometric network edge features; for example, 
{"initialObjects": [{"objectClassName": "PrimaryLine", "objectIDs": [1,2,3,4,5,6,178,179,460,555,973,1537,1809,1810,1972,17973,2292,2293,2321,2322,2323,2324,2326,2627]}]}, by executing the operation as follows:
http://servicesbeta6.esri.com/arcgis/rest/services/S1_Schematics/MapServer/exts/SchematicsServer/templates/2/generateDiagram?name=DiagramTest&folderID=&builderContext=%7B%22initialObjects%22%3A+%5B%7B%22objectClassName%22%3A+%22PrimaryLine%22%2C+%22objectIDs%22%3A+%5B1%2C2%2C3%2C4%2C5%2C6%2C178%2C179%2C460%2C555%2C973%2C1537%2C1809%2C1810%2C1972%2C17973%2C2292%2C2293%2C2321%2C2322%2C2323%2C2324%2C2326%2C2627%5D%7D%5D%7D&user=Me&f=pjson
JSON Response Syntax
JSON Response Example
{
  "name": "DiagramFrom_pug_PUG_gas_plants_ID3",
   "id": "0-5",
   "templateIdentifier": "0",
   "templateObjectID": 892,
   "schematicLayerIdentifier": 0,
   "folderObjectID": -2,
   "folderIdentifier": "-2",
   "objectID": 5,
   "createdBy": "NCA3885",
   "lastModificationBy": "NCA3885",
   "lastUpdateBy": "",
   "creationDate": "05/13/11 14:13:57",
   "lastModificationDate": "05/13/11 14:13:57",
   "lastUpdateDate": "",
   "lockedBy": "",
   "version": "sde.DEFAULT",
   "extent": {
     "xmin": -37.342619999999989,
     "ymin": -11.398460000000886,
     "xmax": -37.342179999999097,
     "ymax": -11.398019999999997,
     "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
     }
   }
}